export class Device {

  /**
   * Creates an instance of Device.
   * @param {number} deviceId 设备id
   * @param {number} deviceCategoryId 设备分类id
   * @param {number} farmId 电站id
   * @param {number} phaseId 工期id
   * @param {number} circuitId 线路id
   * @param {number} modelId 型号id
   * @param {number} subArrayId 区域id
   * @param {string} deviceCode 设备编码
   * @param {string} deviceName 设备名称
   * @param {string} longitude 经度
   * @param {string} latitude 纬度
   * @param {number} elevation 海拔
   * @param {boolean} turBenchMark 是否是标杆风机
   * @param {number} seq 排序
   * @param {number} [parentId] 设备父节点
   * @param {string} [deviceCategoryCode] 设备分类编码
   * @param {string} [deviceCategoryName] 设备分类名称
   * @param {string} [circuitName] 线路名称
   * @param {string} [phaseName] 工期名称
   * @param {string} [farmCode] 电站编码
   * @param {string} [farmName] 电站名称
   * @param {string} [modelName] 型号名称
   * @param {string} [subArraryName] 区域名称
   * @param {boolean} [isChecked=false] 是否选中
   * @memberof Device
   */
  constructor(
    public deviceId: number,
    public deviceCategoryId: number,
    public farmId: number,
    public phaseId: number,
    public circuitId: number,
    public modelId: number,
    public subArrayId: number,
    public deviceCode: string,
    public deviceName: string,
    public longitude: string,
    public latitude: string,
    public elevation: number,
    public turBenchMark: boolean,
    public seq: number,
    public parentId?: number,
    public deviceCategoryCode?: string,
    public deviceCategoryName?: string,
    public circuitName?: string,
    public phaseName?: string,
    public farmCode?: string,
    public farmName?: string,
    public modelName?: string,
    public subArrayName?: string,
    public leave?: number,
    public children?: Device[],
    public isChecked: boolean = false,) {

    Object.defineProperty(this, 'isChecked', {enumerable: false});
    Object.defineProperty(this, 'deviceCategoryCode', {enumerable: false});
    Object.defineProperty(this, 'deviceCategoryName', {enumerable: false});
    Object.defineProperty(this, 'circuitName', {enumerable: false});
    Object.defineProperty(this, 'phaseName', {enumerable: false});
    Object.defineProperty(this, 'farmCode', {enumerable: false});
    Object.defineProperty(this, 'farmName', {enumerable: false});
    Object.defineProperty(this, 'modelName', {enumerable: false});
    Object.defineProperty(this, 'subArraryName', {enumerable: false});
    Object.defineProperty(this, 'leave', {enumerable: false});
    Object.defineProperty(this, 'children', {enumerable: false});
  }

}


// WEBPACK FOOTER //
// ./src/app/entity/device.model.ts
